Dynamic Adaptive Streaming over HTTP (DASH—standardized by 3GPP and International Telecommunication Union (ITU)) is a widely adopted technique to deliver Video on Demand (VoD) services. A DASH client maintains a cache buffer for video data received at the DASH client in order to smooth out any variability of network conditions. The DASH client runs a Rate Determination Algorithm (RDA) to select a video rate for the next video data segment (located in a Content Cache of pre-encoded video segments) based on the DASH client's estimates of network throughput (which the DASH client may obtain by dividing a video segment size by the time elapsed between sending request for the video segment and completing the video segment download), the DASH client's cache buffer fullness and various heuristics. A higher video rate for the segment yields sharper picture and better end user quality of experience (QoE) at the expense of larger video segment size and more bandwidth required to deliver such segment. On the other hand, a lower video rate requires less bandwidth resources to deliver the video segment but is associated with more blurry or sometimes blocky picture. The use of various heuristics may ensure a certain level of stability in rate selection for different video segments as frequent variations in the rate selection from one video segment to another may contribute to a low user QoE.
With video data transmitted to mobile devices over a wireless channel, the above described client based RDA faces multiple challenges due to fast changing wireless channel quality, abrupt changes in over-the-air throughput, and DASH client's lack of wireless network wide view and its inability to quickly distinguish between different causes of measured throughput changes which require different RDA responses in order to maintain high user (QoE).
Furthermore, allowing a client to select the video rate implies that the client controls the load on Wireless Service Provider (WSP) network which leaves the WSP without effective means to manage the load of the network while providing high QoE.
One proposed solution to address the challenges described above is to place the RDA function at a network based DASH proxy instead of a DASH client, which allows to combine rate selection with wireless network wide view and knowledge thus achieving better rate selection decisions with faster and more adequate reaction to congestion and better correlation with wireless access network load management. This solution adds to the standard Content Delivery Network (CDN) HTTP proxy function a benefit of giving a WSP a new tool to control mobile network traffic by factoring WSP policy into rate selection calculation.
However, one major problem with the proposed solution for RDA function in the HTTP Proxy (which is far away from the client and from the wireless link) is to get accurate and adequate measurements of over-the air throughput together with estimates of a DASH client buffer size and fullness that are critical for adequate video data rate determination. Without such accurate and adequate measurements, an end user's QoE is worsened.